#!c:/perl/bin/perl.exe
##########################################################################################################################
##### a script to add object permissions for Users of Wigan-Warriors.com
##########################################################################################################################

##########################################################################################################################
######  TODO list  #######################################################################################################
##########################################################################################################################
##########################################################################################################################

##########################################################################################################################
###### Bug list
##########################################################################################################################
##########################################################################################################################

##########################################################################################################################
# Includes
##########################################################################################################################

use lib qw(../cgi-bin);
use DBI;
use WiganRL;

use strict;
#use warnings;
local $SIG{__WARN__} = \&Carp::cluck;  #full call back trace

$|++;  #unbuffered

##########################################################################################################################
# get arguments
##########################################################################################################################

#my $type= ['PRIVATEMESSAGE'];
#my $permissions= [3];
#my $type= ['NEWS','IMAGE','SEASON','VENUE','PLAYER','PLAYERSIGNING','INJURY','ADMISSIONPRICE','AVITEM',
#	'VIEW','VOTE','VOTEOPTION','USERFAVTEAM','USERFAVTEAMPLAYER','USERTEAM','USERTEAMPLAYER','VIEWWATCH',
#	'PRIVATEMESSAGE','USERCOLUMN','REFEREERATING','PAYMENT'];
#my $permissions= [7,7,7,7,7,7,7,7,7,
#	3,3,3,3,3,3,3,3,
#	3,3,3,3];
my $type= ['VIEWTOPIC'];
my $permissions= [3];
#		#wiki style permissions
#		$self->userpermission('NEWS',undef,7,1);
#		$self->userpermission('IMAGE',undef,7,1);
#		$self->userpermission('SEASON',undef,7,1);
#		$self->userpermission('VENUE',undef,7,1);
#		$self->userpermission('PLAYER',undef,7,1);
#		$self->userpermission('PLAYERSIGNING',undef,7,1);
#		$self->userpermission('INJURY',undef,7,1);
#		$self->userpermission('ADMISSIONPRICE',undef,7,1);
#		$self->userpermission('AVITEM',undef,7,1);
#
#		#message board style permissions
#		$self->userpermission('VIEW',undef,3,1);
#		$self->userpermission('VOTE',undef,3,1);
#		$self->userpermission('VOTEOPTION',undef,3,1);
#		$self->userpermission('USERFAVTEAM',undef,3,1);
#		$self->userpermission('USERFAVTEAMPLAYER',undef,3,1);
#		$self->userpermission('USERTEAM',undef,3,1);
#		$self->userpermission('USERTEAMPLAYER',undef,3,1);
#		$self->userpermission('VIEWWATCH',undef,3,1);
#		$self->userpermission('PRIVATEMESSAGE',undef,3,1);
#		$self->userpermission('USERCOLUMN',undef,3,1);
#		$self->userpermission('REFEREERATING',undef,3,1);
#		$self->userpermission('PAYMENT',undef,3,1);

##########################################################################################################################
# site setup and location variable declarations
##########################################################################################################################
my $cfg= WiganRL::DataObject->load_config('../cgi-bin/wiganrl.ini');

my $cgi= CGI::Simple->new();

my $dbh= Diva::DB->new();
$dbh->set( {
	DATABASE_NAME       => $cfg->val('database', 'DATABASE_NAME'),
	DATABASE_SERVER     => $cfg->val('database', 'DATABASE_SERVER'),
	DATABASE_USERNAME   => $cfg->val('database', 'DATABASE_USERNAME'),
	DATABASE_PASSWORD   => $cfg->val('database', 'DATABASE_PASSWORD'),
	DATABASE_TYPE       => $cfg->val('database', 'DATABASE_TYPE'),
	} );
$dbh->connect();
$dbh->debug(0);
WiganRL::DataObject->dbh($dbh);
WiganRL::Search->dbh($dbh);
WiganRL::DataObject->init_class('WWCOM');  #loads contenttypes
WiganRL::DataObject->cgi($cgi);

#get new content
my $s= WiganRL::Search->new;
$s->table('USER');
$s->where("USER_ACTIVE='True'");
for my $user (@{$s->search}) {
	for (my $i= 0; $i<=$#$type; $i++) {
		if (!$user->userpermission($type->[$i],undef,$permissions->[$i])) {
			print "Updating User: ".$user->id." (".$user->param('USER_NAME').")\n";    
			$user->userpermission($type->[$i],undef,$permissions->[$i],1);
		}
	}
}
    
exit(0);
